Mobile APM

What is Mobile APM?

"Mobile APM" stands for "Mobile Application Performance Monitoring", which refers to the practice of using software tools to track and analyze the performance of mobile applications on various devices, allowing developers to identify and address issues that could impact user experience, such as slow loading times, crashes, and 3rd party calls.


What Mobile APM Involves

Mobile Application Performance Monitoring involves:

User Experience Monitoring:

  • Quantifying the digital user experience for Mobile Users via measures such as Apdex (Application Performance Index).
  • Measuring how many users are having a satisfying, frustrating, or tolerable experience.
  • Tracking metrics such as app launch times which shape your users’ first impressions and are key to a good experience.
  • Monitoring how long your users are waiting since they clicked on your app to when your app becomes responsive.

Identifying network issues:

  • Track network latency and 3rd party calls performance to identify network-related performance issues.

Capturing crash analytics:

  • Detecting and analyzing crashes to identify problematic code sections.
  • Analyzing and categorizing issues by app version, OS type, OS version, device-type, etc.

Identifying UI bottlenecks:

  • By analyzing data from Mobile APM, developers can pinpoint areas of the app that are causing performance issues and prioritize fixes.

User experience improvement:

  • The goal of Mobile APM is to optimize the app's performance to provide a smooth, responsive and reliable user experience.

Ensuring device and OS compatibility:

  • Mobile APM tools consider different device types and operating systems (iOS, Android) to understand how an app performs across various user environments.

Identifying third-party liabilities:

  • It is essential that your mobile APM tools identify slowness or faults in third-party tools or services if they impact on your applications’ performance.

Highlighting geographical variations

  • Many mobile APM tools can identify user locations and correlations between location and their UX, this can help identify geography-specific issues.

Dashboards are a common feature of Mobile APM tools that give an instant and holistic view of mobile application performance across the user base


The Importance of Mobile APM

Mobile APM is essential for organizations to be able to optimize and improve the applications they supply for use on mobile devices. Mobile applications are often critical to core business operations, and unreliable or slow apps can cost and hinder business operations. Third-party articles covering statistics on the costs of poor mobile application performance include:


Mobile App Performance Targets and SLAs

Mobile APM tools should enable organizations to set meaningful SLAs and KPIs for the performance of their mobile apps. Moreover, these tools should collect sufficient data to enable the organization to optimize and improve mobile apps to stay withing SLAs and to improve reliability and performance.

Typical targets for an application will include quantifying performance and reliability via (some suggested values / targets are included – however apps will vary):

App Launch Time

  • Cold Start (first launch after install/clear): < 2 seconds
  • Warm Start (subsequent launches): < 1 second
  • Remember 3% of users abandon apps that take more than 3 seconds to load.

Crash-Free Sessions

  • Target crash-free sessions ≥ 99.9% (i.e., < 1 crash per 1,000 sessions).
  • Remember crashes are frequently platform specific.
  • Even a 1% drop in the crash-free rate can lead to significant revenue impacts.
  • Track iOS and Android platforms separately as crashes and other issues are often platform specific

App Responsiveness (UI Performance)

  • UI thread frame render time: < 16ms per frame (to maintain 60fps smoothness).
  • No "frozen frames" (frames stuck for >700ms). Target < 1% frozen frames.
  • Smoothness is critical: laggy animations directly impact user satisfaction.

Network Performance

  • API call latency: < 500ms for most requests; < 200ms for critical interactions (login, checkout).
  • Error rate (4xx/5xx): < 1% of total calls.
  • Timeouts/failures: < 0.1% overall.
  • Slow API calls mean a bad user experience (UX). A 1-second network delay can cause conversion rates to fall significantly.

Resource Usage

  • Background CPU usage: Keep < 5% of total device CPU.
  • Memory usage: Avoid > 150MB sustained for most apps (varies by platform).
  • Users blame apps for resource consumption, not devices.

User Experience Metrics

  • Set targets for Apdex scores.
  • App Load Success Rate: > 99%
  • Session Length Stability: No sudden drops in average session duration (indicates issues).

Platforms Supported by Mobile APM Tools

Mobile APM tools typically support applications built as both native apps and hybrid apps. Native apps are fully built for iOS/Android using native SDKs. Native Android apps are commonly built using Java and Kotlin, whereas native iOS apps may be built using Objective-C and Swift.

Hybrid apps are web apps wrapped in a native shell but run primarily with web technologies (for example: HTML, CSS, JS). Frameworks used to package the web app within a native shell typically include React Native and Flutter.